#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
////enum是枚举关键字
////Day是枚举类型的名字
//enum Day//星期
//{
//	//该枚举类型的七种可能取值
//	//它们都是常量,被称为枚举常量
//	Mon,
//	Tues,
//	Wed,
//	Thur,
//	Fri,
//	Sat,
//	Sun
//};
//enum Sex//性别
//{
//	MALE,
//	FEMALE,
//	SECRET
//};
//enum Color//颜⾊
//{
//	RED,
//	GREEN,
//	BLUE
//};


//enum Sex//性别
//{
//	MALE,//男
//	FEMALE,//女
//	SECRET//保密
//};
//
//int main()
//{
//	enum Sex sex1 = MALE;//创建枚举变量,并且赋值为MALE,赋值赋的是可能取值
//	enum Sex sex2 = FEMALE;
//	return 0;
//}

//enum Sex
//{
//	MALE,
//	FEMALE,
//	SECRET
//};
//
//enum Sex sex = MALE;
//
//int main()
//{
//	enum Sex sex = MALE;
//	return 0;
//}

//int Add(int x, int y) { return x + y; }
//int Sub(int x, int y) { return x - y; }
//int Mul(int x, int y) { return x * y; }
//int Div(int x, int y) { return x / y; }
//
//void menu()
//{
//	printf("*************************************\n");
//	printf("************1. add 2. sub************\n");
//	printf("************3. mul 4. div************\n");
//	printf("************0. exit      ************\n");
//	printf("*************************************\n");
//}
//
//enum Option
//{
//	EXIT,//0
//	ADD,//1
//	SUB,//2
//	MUL,//3
//	DIV//4
//};
//
//int main()
//{
//	int input = 0;
//	do
//	{
//		menu();
//		printf("请输入选项:\n");
//		scanf("%d", &input);
//		switch (input)
//		{
//		case ADD:
//	        //Add函数传参,接收返回值,打印
//			break;
//		case SUB:
//			//.............
//			break;
//		case MUL:
//			//.............
//			break;
//		case DIV:
//			//.............
//			break;
//		case EXIT:
//			printf("退出计算器!!!\n");
//			break;
//		default:
//			printf("输入错误,请重新输入!!!\n");
//			break;
//		}
//	} while (input);
//	return 0;
//}

//联合体的关键字:union
//结构体的关键字:struct
//枚举的关键字:enum

//struct S
//{
//	char c;
//	int i;
//};
//
//union Un
//{
//	char c;
//	int i;
//};
//
//int main()
//{
//	printf("%d\n", sizeof(struct S));
//	printf("%d\n", sizeof(union Un));
//	return 0;
//}


//union Un
//{
//	char c;
//	int i;
//};
//
//int main()
//{
//	union Un un;
//	printf("%d\n", sizeof(un));
//	printf("%p\n", &un);
//	printf("%p\n", &(un.c));
//	printf("%p\n", &(un.i));
//	return 0;
//}

//union Un
//{
//	char c;
//	int i;
//};
//
//int main()
//{
//	union Un un;
//	un.i = 0x11223344;
//	un.c = 0x55;
//	return 0;
//}

//struct S
//{
//	char c;
//	int i;
//};
//struct S s = { 0 };
//
//union Un
//{
// char c;
// int i;
//};
//union Un un = { 0 };


//union Un1
//{
//	char c[5];
//	int i;
//};
//union Un2
//{
//	short c[7];
//	int i;
//};
//int main()
//{
//	//下面输出的结果是什么？
//	printf("%d\n", sizeof(union Un1));
//	printf("%d\n", sizeof(union Un2));
//	return 0;
//}

//struct gift_list
//{
//	//公共属性
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	//特殊属性
//	char title[20];//书名
//	char author[20];//作者
//	int num_pages;//⻚数
//
//	char design[30];//设计
//	int colors;//颜⾊
//	int sizes;//尺⼨
//};

//struct gift_list
//{
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	union {
//		struct
//		{
//			char title[20];//书名
//			char author[20];//作者
//			int num_pages;//⻚数
//		}book;
//		struct
//		{
//			char design[30];//设计
//		}mug;
//		struct
//		{
//			char design[30];//设计
//			int colors;//颜⾊
//			int sizes;//尺⼨
//		}shirt;
//	}item;
//};

int check_sys()
{
	union
	{
		int i;
		char c;
	}un;
	un.i = 1;
	return un.c;//返回1是⼩端，返回0是⼤端
}

int main()
{
	if (check_sys())
	{
		printf("小端\n");
	}
	else
	{
		printf("大端\n");
	}
}

